package com.heima.admin.controller.v1;

import com.heima.admin.service.WemediaNewsAutoService;
import com.heima.common.dtos.PageResult;
import com.heima.common.dtos.ResponseResult;
import com.heima.model.admin.dtos.NewsAuthDto;
import com.heima.model.media.dtos.WmNewsDto;
import com.heima.model.media.dtos.WmNewsResultDTO;
import org.checkerframework.checker.units.qual.A;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

/**
 * 自媒体文章审核控制层
 */
@RestController
@RequestMapping("/api/v1/news_auth")
public class WmNewsAuthController {

    @Autowired
    private WemediaNewsAutoService wemediaNewsAutoService;

    /**
     * 查询自媒体文章列表
     */
    @PostMapping("/list")
    public PageResult<WmNewsResultDTO> findWmNewsList(@RequestBody NewsAuthDto dto){
       return wemediaNewsAutoService.findWmNewsList(dto);
    }

    /**
     * 基于自媒体文章id查询自媒体文章功能
     */
    @GetMapping("/one/{id}")
    public ResponseResult<WmNewsResultDTO> findOneWmNews(@PathVariable("id") Integer id){
        return wemediaNewsAutoService.findOneWmNews(id);
    }

    /**
     * 人工审核自媒体文章通过
     */
    @PostMapping("/auth_pass")
    public ResponseResult authPass(@RequestBody NewsAuthDto dto){
        wemediaNewsAutoService.updateWmNews(dto.getId(),"人工审核通过", WmNewsDto.Status.ADMIN_SUCCESS.getCode());
        return ResponseResult.ok();
    }

    /**
     * 人工审核自媒体文章未通过
     */
    @PostMapping("/auth_fail")
    public ResponseResult authFail(@RequestBody NewsAuthDto dto){
        wemediaNewsAutoService.updateWmNews(dto.getId(),dto.getMsg(), WmNewsDto.Status.FAIL.getCode());
        return ResponseResult.ok();
    }
}
